Flash memory retains information stored therein without power, and thus is considered “non-volatile” memory. As such, flash memory has become increasingly popular for many types of devices including, for example, removable storage devices and mobile computing devices. Unlike other non-volatile memories that are one-time programmable (OTP), flash memories may be overwritten. Data may be stored in flash memory by erasing one or more blocks of memory cells therein and then writing to one or more memory cells within a block. The blocks of memory cells are usually referred to as erase blocks (EBs). The process of programming and erasing an erase block (EB) is referred to as a program/erase (P/E) cycle. Some characteristics of flash memory tend to degrade as EBs experience more P/E cycles. For example, the flash memory may not be able to store data for an infinitely long period of time without power. Moreover, the flash memory's programming and erasing characteristics may also degrade. The lifetime of a flash memory is therefore limited by a maximum number of P/E cycles experienced by each EB.
To prolong the lifetime of a flash memory, a flash file system (FFS) with an EB mapping scheme may be employed. One of the functions of the EB mapping scheme is to perform a technique known as wear-leveling (WL), wherein logical EBs are mapped onto physical EBs. In particular, frequently-written logical EBs are mapped onto physical EBs with low P/E cycles, and infrequently-written logical EBs are mapped onto physical EBs with high P/E cycles. The EB mapping scheme strives to distribute the P/E cycles evenly across the physical EBs, such that no EB fails prematurely. Different EB mapping schemes result in different WL efficiencies, wherein the WL efficiency may be considered as the uniformness of the P/E cycles distribution across the physical EBs.
Another function of an EB mapping scheme is to define how user data and system management information are allocated among and stored into the EBs. Among other things, the system management information keeps track of the physical location of user data in the flash memory. EBs that store user data may be referred to as data EBs. EBs that store system management information may be referred to as system EBs. The allocation of data EBs and system EBs dictates a mount latency of a mount operation of the FFS, affecting the boot time of the flash memory. When the flash memory starts up, the mount operation usually comprises locating the system EBs, which in turn point to the data EBs, such that user data can be made available to the user. The mount latency is the time taken to complete the mount operation.